This application relates to programmable logic array integrated circuit devices (xe2x80x9cprogrammable logic devicesxe2x80x9d), and more particularly, to bidirectional cascade arrangements for interconnecting look-up table logic in programmable logic devices.
Programmable logic devices are integrated circuits that may be programmed by a user to perform various logic functions. Programmable logic devices typically include many regions of programmable logic. Inter-region or global interconnection conductors and circuitry may be used to convey signals between the logic regions. Logic regions may also include more local or dedicated intra-region interconnection resources that are used to convey signals between smaller portions or subregions of the logic regions.
The logic subregions may be based on look-up table logic. For example, the logic subregions may each include a four-input look-up table. An k-input look-up table has 2k individually-programmable and individually-addressable binary cells. A look-up table may therefore be programmed to perform any desired logic function on its inputs.
Although a logic designer might sometimes wish that larger look-up tables were available (e.g., to rapidly perform functions involving 10 logic inputs), providing such large look-up tables just for this possibility is generally not practical. Large look-up tables consume large fractions of the real-estate available on a programmable logic device die, and tend to operate more slowly than smaller look-up tables. Trade-offs between performance and flexibility tend to favor programmable logic devices that have more modestly-sized look-up tables such as four-input look-up tables.
Special connections known as cascade connections may be provided that allow a chain of logic subregions to be concatenated together when needed. With this type of arrangement, a number of the look-up tables in a programmable logic device can be combined when necessary to provide some of the functionality of a much larger look-up table. (See, for example, Cliff et al. U.S. Pat. No. 5,258,668 and Ngai et al. U.S. patent application Ser. No. 09/516,921, filed Mar. 2, 2000, which are hereby incorporated by reference herein in their entireties.)
It is an object of the present invention to provide improved cascade connection arrangements for combining the resources of look-up tables in logic subregions when the capabilities of larger look-up tables are needed to implement a particular logic function.
This and other objects of the invention are accomplished in accordance with the principles of the invention by providing a programmable logic device with bidirectional cascade connection circuitry. The cascade circuitry on the device may be used to directly connect the output of one look-up table to the input of an adjacent or nearby look-up table. The cascade circuitry is bidirectional, because it may be used to route cascade signals in either of two opposite directions along a line of logic subregions.
The cascade circuitry may be programmed to form either a chain of look-up tables or a tree of look-up tables depending on the type of logic function that needs to be implemented by the device. The bidirectionality of the cascade connections therefore allows more logic functions to be implemented from a given set of look-up tables than could be implemented if only a unidirectional cascade chain configuration were available. Because tree-type cascade configurations can involve fewer look-up table delays than comparably-sized chains, the performance of a given logic function can sometimes be enhanced by using the bidirectional cascade connections to form a tree from the look-up tables rather than a chain.